
import wepy from 'wepy'
export default class extends wepy.mixin {
    config = {};

    data = {
        // 搜索框的值
        value: '',
        searchList: [],
        // 存储历史搜索
        historyList: []
    };

    methods = {
        onSearch(e) {
            // 在进入详情页之前先保存搜索的内容到搜索历史
            // 搜索为空 返回
            if (this.value.trim().length == 0) {
                return
            }
            // 如果搜索的内容在搜索历史中没有 就添加到最前面
            if (this.historyList.indexOf(this.value)==-1) {
                this.historyList.unshift(this.value)
            } 
            // 并且存储的数组中最多10个数
            this.historyList = this.historyList.slice(0,10)
            // 否则存储到本地
            wx.setStorageSync('historyList', this.historyList)
            // 直接点击search 也要根据搜索框的值进入商品详情页
            wepy.navigateTo({
                url: '/pages/goods_detail/main?goods_id=' + this.value
            })

        },
        onCancel() {

        },
        onChange(e) {
            // 搜索框内容一改变就发请求获取数据
            this.value = e.detail
            // 拦截一下如果输入框为空（未输入或点击了取消按钮）
            // 则清空searchList并结束函数
            if (this.value.trim().length == 0) {
                this.searchList = []
                return
            }
            // 否则发送请求
            this.getSearchList()
        },

        // 点击搜索结果 通过goods_id 进入商品详情页
        goGoodsDetail(id) {
            wepy.navigateTo({
                url: '/pages/goods_detail/main?goods_id=' + id
            })
        },

        // 点击某个历史搜索 通过item进入商品列表
        goGoodsList(query) {
            wepy.navigateTo({
                url: '/pages/goods_list?query=' + query
            })
        },

        // 清除历史搜索
        clearHistory(){
            // 清空data并清空本地存储
            this.historyList = []
            wx.setStorageSync('historyList', this.historyList)
        }
    };

    computed = {
        isShowHistory(){
            if (this.value.length==0) {
                return true
            }
            return false
        }
    }

    // 获取搜索列表
    async getSearchList() {
        const { data: res } = await wepy.get('/goods/qsearch?query=' + this.value)
        if (res.meta.status !== 200) {
            return wepy.baseToast();
        }
        console.log(res);

        this.searchList = res.message;
        this.$apply();
    }

    onLoad() {
        // 页面一加载就从本地获取搜索历史 如果没有 赋为空数组
        var historyList = wepy.getStorageSync('historyList')||[]
        this.historyList = historyList
    }


}
